1. Field of the Invention
Embodiments of the invention described herein pertain to the field of computer software. More particularly, but not by way of limitation, one or more embodiments of the invention enable the declarative specification and dynamic updating of synchronized business information server interfaces to alter the format used in communicating with a specific data pool.
2. Description of the Related Art
The global distribution and procurement of products from manufacturers to retailers depends on the efficient exchange of information between parties involved in the supply chain. For instance, the synchronization of information that uniquely describes a product or service exchanged between trading partners is fundamental to building collaborative commercial relationships among retailers, manufacturers, and other supply chain participants. Various systems exist for synchronizing such business-to-business information between trading partners. These systems, often referred to as Global Data Synchronization (GDS) systems, are important because effective GDS systems lead to consolidation and management of master product data, which greatly increases internal supply chain efficiency. Many also consider GDS as a fundamental building block for realizing the full potential of Radio Frequency Identification (RFID) and Electronic Product Code (EPC) tags on various product configurations (e.g., pallets and cases of a particular product). GDS and EPC initiatives are designed to work together to improve business performance amongst a set of interrelated trading partners through the sharing of well-formed data that describes information associated with a set of products or services.
Business information is exchanged via repositories known as data pools that act as an interface point between supply chain entities such as manufacturers and retailers. These data pools provide a message-based framework for synchronizing item, organization and pricing data. For instance, manufacturers publish data to the data pool in accordance with a set of specific rules defined by the data pool and other parties such as retailers or other manufactures subscribed to the data pool are kept in sync with information published to the data pool.
Manufacturers publish business information to data pools and retailers subscribe to business information from data pools after the existence of a product is made known to a global directory of products known as the “Global Registry”. The global registry may then be employed by retailers to find a product and lookup the basic parameters of a product. The lookup generally includes the location of the data pool where the full product information can be found. The predominant registry in the industry is known as the “GS1 Global Registry™”. The Global Registry stores unique product identifiers (referred to as GTINs and discussed in further detail below) and location information about each of the respective parties in the supply chain (e.g., Global Location Numbers called GLNs and also discussed in more detail below). Put generally a GTIN describes what an item is and a GLN describes who has and where the item is located. The association of data pools and the Global Registry described herein are known as the Global Data Synchronization Network (GDSN).
The steps involved in exchanging business information via data pools and the global registry are as follows. First internal supplier data is reviewed and if necessary modified to conform to generally accepted standards. For instance, each product or unit of sale is given a GTIN. The GTIN provides a basis for identifying when a unit of sale passes through a retail point of sale, is delivered, ordered, invoiced, or is otherwise involved in a transaction. A GTIN comprises up to 14 digits and can be associated with raw materials or completed end user products and may also include services. The number allocated to a product needs to be communicated from the manufacturer through the supply chain in advance of transaction, so that business transactions can be set up.
A supplier of business information may also define information that uniquely identifies itself and other legal entities, trading parties and locations considered part of or needing access to supply chain information. This identifying information, typically referred to as a Global Location Number (GLN), provides a standard means of identification. The GLN is simply a 13-digit number used to uniquely identify any legal, functional or physical entity. Some examples of parties and locations that can be identified with GLNs, include but are not limited to, functional entities such as a purchasing department or customer number within a legal entity, an accounting department, a returns department, a nursing station, or any other group that performs a definable set of functions. GLNs may also act as a mechanism for identifying physical entities such as a particular room or section of a building, a warehouse, or aspects of a physical location such as a loading dock, delivery point, cabinet, or other location specific information. It is also feasible to utilize GLNs to identify buyers, sellers, companies, subsidiaries or divisions such as suppliers, customers, financial services companies, or any other entity or trading partner.
After business data is formatted for a given source data pool, it may then be uploaded to a source data pool. There are various data pools and each data pool has mandatory and optional aspects. For instance, a data pool may collect descriptive data that contains a standardized set of attributes, values, trade item information, trading partner information, product and packaging information (e.g., shipping unit information such as a pallet), consumer unit (e.g., typically a trade item in its retail form). In at least one instance attributes are used as a mechanism to name associated data (e.g., Color) and values identify the data itself associated to the attribute name (e.g., Blue). Both attributes and values can be recursive and thereby identified as a repeatable attribute/value. Any product or service having a need to retrieve pre-defined information that may be priced, ordered or invoiced at any point in any supply chain is typically referred to as a trade item. In this context, the term consumer unit is intended to indicate to the retailer that a particular item should be considered as a potential unit of sale.
In order to provide end users with a single point of entry in which to exchange business data, each data pool sends basic information about the uploaded data to the Global Registry without end user intervention. The information sent to the global registry holds the basic information and as well as the location of the supplier's data pool. Customers may search the Global Registry via their own destination data pool for information about the supplier that the customer may wish to obtain as part of its subscription to the destination data pool.
Trading partners perform the publication and subscription process for sending and receiving information via a synchronization engine that synchronizes information between each of the respective data pools. The synchronization engine allows each trading partner to maintain a single point of entry to its chosen data pool. Once implemented, GDS allows for the continuous updating of data attributes related to products for example between a plurality of computing systems in order to ensure that the data is kept identical in all locations that access the data. This synchronization process occurs in order to keep businesses up to date with changes and modifications to products and prices for example. The proper update of product data also enables a more efficient supply chain and eliminates transactions with erroneous prices or discontinued products for example.
The process of reviewing and publishing items for retail trading partners by manufacturers is in most cases a laborious process that involves development of customized applications that obtain the relevant information from the manufacture side and provide that information to the data pool in a publishable form. In addition, current systems employed in the field of global data synchronization suffer from hardcoded server interfaces that embed references to hardcoded data elements within the control logic of the application. Mixing server interface code with control logic, business logic and hardcoded data and message formats yields higher maintenance costs and increases the likelihood of errors. Furthermore, the time required to update an application is significant in that the server interface itself must be altered and sent to all users that require the modification. There is no product on the Global Synchronization Data Network market that allows for dynamic construction of server interfaces in a declarative manner. In addition, large maintenance efforts are required by a company when the format or number of parameters required by a data pool changes or when a vendor switches allegiance to another data pool. The back end processing software and server interface requires modification or a total rewrite depending on the nature of the new data pool or data pool format. Because of these and other limitations present in current systems there is a need for a dynamic server interface that is easily adjusted to interface with different data pools and can allow for users to edit declarative definitions for the server interfaces without requiring recompilation and redistribution of an application. This enables installation employees and consultants to deal with the customer specific data issues without struggling with global data synchronization issues that embodiments of the system inherently handle.